home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / WIN_PRO / FE10.ZIP;1 / EXAMPLE.BAS < prev    next >
Encoding:
BASIC Source File  |  1993-06-30  |  1.8 KB  |  67 lines

  1. DECLARE SUB LoadFont (FileName$, Font%())
  2. DECLARE SUB GFPrint (Text$, X%, Y%, XStep%, YStep%, Font%())
  3. ' Example program and demo for The Font Editor
  4. ' Subroutines for loading and using fonts
  5. ' Can be merged into program
  6.  
  7. ' DIMension arrays
  8. DIM F1%(3795)
  9. DIM F2%(3795)
  10. DIM F3%(3795)
  11. DIM F4%(3795)
  12.  
  13. ' Load fonts into arrays
  14. LoadFont "TF001.FNT", F1%()
  15. LoadFont "TF002.FNT", F2%()
  16. LoadFont "TF003.FNT", F3%()
  17. LoadFont "GF001.FNT", F4%()
  18.  
  19.  
  20. ' Print Font
  21. SCREEN 9: CLS
  22. LINE (39, 0)-(599, 100), 7, BF
  23. '---
  24. GFPrint "THE FONT EDITOR", 120, 10, 24, 0, F2%()
  25. GFPrint "EXAMPLE PROGRAM", 120, 60, 24, 0, F2%()
  26. '---
  27. GFPrint "JKKKKKKKKKKKKL", 0, 0, 0, 24, F4%()
  28. GFPrint "JKKKKKKKKKKKKL", 616, 0, 0, 24, F4%()
  29. '---
  30. GFPrint "DOWN", 70, 170, 0, 24, F1%()
  31. GFPrint "FORWARD", 250, 120, 24, 0, F1%()
  32. GFPrint "SLANTED", 120, 130, 24, 24, F1%()
  33. GFPrint "UP", 550, 280, 0, -24, F1%()
  34. GFPrint "BACKWARD", 510, 180, -24, 0, F1%()
  35. '---
  36. GFPrint "PRESS ANY KEY", 150, 310, 24, 0, F3%()
  37. '---
  38. A$ = INPUT$(1)
  39. END
  40.  
  41. ' Text$ is the string to be printed
  42. ' X% & Y% give the starting point to begin printing
  43. ' XStep% & YStep% give the amount of spacing between letters
  44. ' Font%() is integer array which holds font. (See LoadFont subroutine)
  45. ' --------------------------------------------------------------------------
  46. SUB GFPrint (Text$, X%, Y%, XStep%, YStep%, Font%())
  47. Text$ = UCASE$(Text$)
  48. FOR A% = 1 TO LEN(Text$)
  49. N% = ASC(MID$(Text$, A%, 1))
  50. IF N% = 32 THEN GOTO GFPSkipPut
  51. N% = ((N% - 65) * 146)
  52. PUT (X%, Y%), Font%(N%), PSET
  53. GFPSkipPut:
  54. X% = X% + XStep%: Y% = Y% + YStep%
  55. NEXT A%
  56. END SUB
  57.  
  58. ' FileName$ is the name of the font to be loaded
  59. ' Font%() is an integer array to hold font DIMensioned to 3795
  60. ' OPTION BASE 0 (Default) must be used
  61. SUB LoadFont (FileName$, Font%())
  62. DEF SEG = VARSEG(Font%(0))
  63. BLOAD FileName$, VARPTR(Font%(0))
  64. DEF SEG
  65. END SUB
  66.  
  67.